Just call the backend implementation directly.
--- /dev/null
+#ifndef __GDK_DEVICE_WAYLAND_PRIVATE_H__
+#define __GDK_DEVICE_WAYLAND_PRIVATE_H__
+
+#include "gdkwaylanddevice.h"
+
+void
+gdk_wayland_device_query_state (GdkDevice *device,
+ GdkSurface *surface,
+ GdkSurface **child_surface,
+ double *win_x,
+ double *win_y,
+ GdkModifierType *mask);
+
+#endif
#include "gdkdeviceprivate.h"
#include "gdkdevicepadprivate.h"
#include "gdkdevicetoolprivate.h"
+#include "gdkdevice-wayland-private.h"
#include "gdkdropprivate.h"
#include "gdkprimary-wayland.h"
#include "gdkseatprivate.h"
return mask;
}
-static void
+void
gdk_wayland_device_query_state (GdkDevice *device,
GdkSurface *surface,
GdkSurface **child_surface,
GdkDeviceClass *device_class = GDK_DEVICE_CLASS (klass);
device_class->set_surface_cursor = gdk_wayland_device_set_surface_cursor;
- device_class->query_state = gdk_wayland_device_query_state;
device_class->grab = gdk_wayland_device_grab;
device_class->ungrab = gdk_wayland_device_ungrab;
device_class->surface_at_position = gdk_wayland_device_surface_at_position;
#include "gdkseat-wayland.h"
#include "gdksurfaceprivate.h"
#include "gdktoplevelprivate.h"
+#include "gdkdevice-wayland-private.h"
#include <wayland/xdg-shell-unstable-v6-client-protocol.h>
{
GdkSurface *child;
- GDK_DEVICE_GET_CLASS (device)->query_state (device, surface,
- &child,
- x, y, mask);
+ gdk_wayland_device_query_state (device, surface, &child, x, y, mask);
return_val = (child != NULL);
}